How to Obfuscate Programs Directly
نویسنده
چکیده
We propose a new way to obfuscate programs, using composite-order multilinear maps. Our construction operates directly on straight-line programs (arithmetic circuits), rather than converting them to matrix branching programs as in other known approaches. This yields considerable efficiency improvements. For an NC circuit of size s and depth d, with n inputs, we require only O(ds + n) multilinear map operations to evaluate the obfuscated circuit—as compared with other known approaches, for which the number of operations is exponential in d. We prove virtual black-box (VBB) security for our construction in a generic model of multilinear maps of hidden composite order, extending previous models for the prime-order setting. Our scheme works either with “noisy” multilinear maps, which can only evaluate expressions of degree λ for pre-specified constant c; or with “clean” multilinear maps, which can evaluate arbitrary expressions. The “noisy” variant can be instantiated at present with the Coron-Lepoint-Tibouchi scheme, while the existence of “clean” maps is still unknown. With known “noisy” maps, our new obfuscator applies only to NC circuits, requiring the additional assumption of FHE in order to bootstrap to P/poly (as in other obfuscation constructions). From “clean” multilinear maps, on the other hand (whose existence is still open), we present the first approach that would achieve obfuscation for P/poly directly, without FHE. We also introduce the concept of succinct obfuscation, in which the obfuscation overhead size depends only on the length of the input and of the secret part of the circuit. Using our new techniques, along with the assumption that factoring is hard on average, we show that “clean” multilinear maps imply succinct obfuscation for P/poly. For the first time, the only remaining obstacle to implementable obfuscation in practice is the noise growth in known, “noisy” multilinear maps. Our results demonstrate that the question of “clean” multilinear maps is not a technicality, but a central open problem. ∗Stanford University, [email protected].
منابع مشابه
A Tool for Teaching Reverse Engineering
Tigress is a freely available source-to-source, C language code obfuscator. The tool allows users to obfuscate existing programs or programs randomly generated by Tigress itself. Tigress is highly flexible, providing a large number of standard obfuscating code transformations, and many variants of each transformation. Tigress may be used in many contexts, but in this paper we describe its use i...
متن کاملBreaking Abstractions and Unstructuring Data Structures
To ensure platform independence, mobile programs are distributed in forms that are isomorphic to the original source code. Such codes are easy to decompile, and hence they increase the risk of malicious reverse engineering attacks. Code obfuscation is one of several techniques which has been proposed to alleviate this situation. An obfuscator is a tool which – through the application of code tr...
متن کاملImplementing Conjunction Obfuscation under Entropic Ring LWE
We address the practicality challenges of secure program obfuscation by implementing, optimizing, and experimentally assessing an approach to securely obfuscate conjunction programs proposed in [1]. Conjunction programs evaluate functions f (x1, . . . , xL) = ∧ i∈I yi, where yi is either xi or ¬xi and I ⊆ [L], and can be used as classifiers. Our obfuscation approach satisfies distributional Vir...
متن کاملJava Obfuscation with a Theoretical Basis for Building Secure Mobile Agents
In this paper we propose novel techniques to obfuscate Java programs for developing secure mobile agent systems. Our obfuscation techniques take advantage of polymorphism and exception mechanism of object-oriented languages and can drastically reduce the precision of points-to analysis of the programs. We show that determining precise points-to analysis in obfuscated programs is NP-hard and the...
متن کاملObfuscating Circuits via Composite-Order Graded Encoding
We present a candidate obfuscator based on composite-order Graded Encoding Schemes (GES), which are a generalization of multilinear maps. Our obfuscator operates on circuits directly without converting them into formulas or branching programs as was done in previous solutions. As a result, the time and size complexity of the obfuscated program, measured by the number of GES elements, is directl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IACR Cryptology ePrint Archive
دوره 2014 شماره
صفحات -
تاریخ انتشار 2014